package pers.cj.pdos.service;

import pers.cj.pdos.entity.Budget;
import com.baomidou.mybatisplus.extension.service.IService;
import pers.cj.pdos.vo.BudgetVo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author chenj
 * @since 2019-11-04
 */
public interface IBudgetService extends IService<Budget> {

    List<BudgetVo> listVoPage(String companyId,
                              Integer page,
                              Integer limit,
                              Integer type,
                              Boolean close,
                              String search,
                              Date makeTime1,
                              Date makeTime2,
                              Date date1,
                              Date date2,
                              String makeUserId,
                              String storeId,
                              String budgetProjectId,
                              String unit,
                              String settAccountId,
                              String userStoreId,
                              String userId,
                              String remark);

    long count(String companyId,
               Integer type,
               Boolean close,
               String search,
               Date makeTime1,
               Date makeTime2,
               Date date1,
               Date date2,
               String makeUserId,
               String storeId,
               String budgetProjectId,
               String unit,
               String settAccountId,
               String userStoreId,
               String userId,
               String remark);

    BudgetVo getVoById(String id);

    List<BudgetVo> listVoByIds(List<String> ids);

    boolean checkClose(Budget budget);

    void insert(Budget budget);

    void close(Budget budget);
}
